
package DTO.playlist;

import java.math.BigInteger;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;


/**
 * <p>Java class for PlaylistType complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="PlaylistType">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="PlaylistID" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger"/>
 *         &lt;element name="Username" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="PlaylistName" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="DateCreated" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
 *         &lt;element name="ListenNumber" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger"/>
 *         &lt;element name="PlaylistCover" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="PlaylistDescription" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="PlaylistLikeNumber" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger"/>
 *         &lt;element name="Songs" type="{http://xml.netbeans.org/schema/playlist}SongsType"/>
 *         &lt;element name="Comments" type="{http://xml.netbeans.org/schema/playlist}CommentsType" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "PlaylistType", propOrder = {
    "playlistID",
    "username",
    "playlistName",
    "dateCreated",
    "listenNumber",
    "playlistCover",
    "playlistDescription",
    "playlistLikeNumber",
    "songs",
    "comments"
})
public class PlaylistType {

    @XmlElement(name = "PlaylistID", required = true)
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger playlistID;
    @XmlElement(name = "Username", required = true)
    protected String username;
    @XmlElement(name = "PlaylistName", required = true)
    protected String playlistName;
    @XmlElement(name = "DateCreated", required = true)
    @XmlSchemaType(name = "dateTime")
    protected XMLGregorianCalendar dateCreated;
    @XmlElement(name = "ListenNumber", required = true, defaultValue = "0")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger listenNumber;
    @XmlElement(name = "PlaylistCover", required = true, nillable = true)
    protected String playlistCover;
    @XmlElement(name = "PlaylistDescription", required = true, nillable = true)
    protected String playlistDescription;
    @XmlElement(name = "PlaylistLikeNumber", required = true, defaultValue = "0")
    @XmlSchemaType(name = "nonNegativeInteger")
    protected BigInteger playlistLikeNumber;
    @XmlElement(name = "Songs", required = true)
    protected SongsType songs;
    @XmlElement(name = "Comments")
    protected CommentsType comments;

    /**
     * Gets the value of the playlistID property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getPlaylistID() {
        return playlistID;
    }

    /**
     * Sets the value of the playlistID property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setPlaylistID(BigInteger value) {
        this.playlistID = value;
    }

    /**
     * Gets the value of the username property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getUsername() {
        return username;
    }

    /**
     * Sets the value of the username property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setUsername(String value) {
        this.username = value;
    }

    /**
     * Gets the value of the playlistName property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPlaylistName() {
        return playlistName;
    }

    /**
     * Sets the value of the playlistName property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPlaylistName(String value) {
        this.playlistName = value;
    }

    /**
     * Gets the value of the dateCreated property.
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getDateCreated() {
        return dateCreated;
    }

    /**
     * Sets the value of the dateCreated property.
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setDateCreated(XMLGregorianCalendar value) {
        this.dateCreated = value;
    }

    /**
     * Gets the value of the listenNumber property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getListenNumber() {
        return listenNumber;
    }

    /**
     * Sets the value of the listenNumber property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setListenNumber(BigInteger value) {
        this.listenNumber = value;
    }

    /**
     * Gets the value of the playlistCover property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPlaylistCover() {
        return playlistCover;
    }

    /**
     * Sets the value of the playlistCover property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPlaylistCover(String value) {
        this.playlistCover = value;
    }

    /**
     * Gets the value of the playlistDescription property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPlaylistDescription() {
        return playlistDescription;
    }

    /**
     * Sets the value of the playlistDescription property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPlaylistDescription(String value) {
        this.playlistDescription = value;
    }

    /**
     * Gets the value of the playlistLikeNumber property.
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getPlaylistLikeNumber() {
        return playlistLikeNumber;
    }

    /**
     * Sets the value of the playlistLikeNumber property.
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setPlaylistLikeNumber(BigInteger value) {
        this.playlistLikeNumber = value;
    }

    /**
     * Gets the value of the songs property.
     * 
     * @return
     *     possible object is
     *     {@link SongsType }
     *     
     */
    public SongsType getSongs() {
        return songs;
    }

    /**
     * Sets the value of the songs property.
     * 
     * @param value
     *     allowed object is
     *     {@link SongsType }
     *     
     */
    public void setSongs(SongsType value) {
        this.songs = value;
    }

    /**
     * Gets the value of the comments property.
     * 
     * @return
     *     possible object is
     *     {@link CommentsType }
     *     
     */
    public CommentsType getComments() {
        return comments;
    }

    /**
     * Sets the value of the comments property.
     * 
     * @param value
     *     allowed object is
     *     {@link CommentsType }
     *     
     */
    public void setComments(CommentsType value) {
        this.comments = value;
    }

}
